﻿using DocumentFormat.OpenXml.Wordprocessing;
using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using NP.BPMReportPlatform.Entities.BPM_Platform;
using OfficeOpenXml.Table;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Text;

namespace NP.BPMReportPlatform.AuthorizationUserManager.Dtos
{
    [ExcelExporter(Name = "用户信息维护", TableStyle = TableStyles.Light10, AutoFitAllColumn = true)]
    public class UserInfoOutput
    {
        /// <summary>
        /// 主键
        /// </summary>
        [ExporterHeader(DisplayName = "用户唯一ID")]
        public Guid UserId { get; set; }

        /// <summary>
        /// 用户名称
        /// </summary>
        [ExporterHeader(DisplayName = "姓名")]
        public string UserName { get; set; }

        /// <summary>
        /// 登录账号
        /// </summary>
        [ExporterHeader(DisplayName = "域账号")]
        public string UserLoginId { get; set; }

        [IEIgnore(IsExportIgnore = true)]
        public string Gender { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        [ExporterHeader(DisplayName = "性别")]
        public string GenderName { get; set; }

        /// <summary>
        /// 邮件
        /// </summary>
        [ExporterHeader(DisplayName = "邮箱")]
        public string Email { get; set; }

        /// <summary>
        /// 工号
        /// </summary>
        [ExporterHeader(DisplayName = "工号")]
        public string WorkNumber { get; set; }

        /// <summary>
        /// 组织全路径
        /// </summary>
        [ExporterHeader(DisplayName = "组织编码[全路径]")]
        public string FullPathCode { get; set; }

        /// <summary>
        /// 组织名称全路径
        /// </summary>
        [ExporterHeader(DisplayName = "组织名称[全路径]")]
        public string FullPathText { get; set; }

        /// <summary>
        /// 用户类型（E：员工  S：系统账户 C：顾问）
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public string UserType { get; set; }
        /// <summary>
        /// 用户类型（E：员工  S：系统账户 C：顾问）
        /// </summary>
        [ExporterHeader(DisplayName = "用户类型")]
        public string UserTypeName { get; set; }

        #region UserExtension
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "手机号")]
        public string Mobile { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "公司编码")]
        public string Sapcompanycode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "公司名称")]
        public string Sapcompanyname { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "成本中心编码")]
        public string Sapcostcentercode { get; set; }
        /// <summary>
        /// 工程事业部-烟威战略客户部
        /// </summary>
        [ExporterHeader(DisplayName = "成本中心名称")]
        public string Sapcostcenter { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "组织编码")]
        public string Org { get; set; }
        /// <summary>
        /// 烟威战略客户部
        /// </summary>
        [ExporterHeader(DisplayName = "组织名称")]
        public string Orgname { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "岗位编码")]
        public string Employeepost { get; set; }
        /// <summary>
        /// 客户专员
        /// </summary>
        [ExporterHeader(DisplayName = "岗位名称")]
        public string Employeepostname { get; set; }
        /// <summary>
        /// P08- 高级销售工程师
        /// </summary>
        [ExporterHeader(DisplayName = "职称")]
        public string Poste { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "职级")]
        public string Posnc { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "上级领导工号")]
        public string Bossemployeeid { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "上级领导名称")]
        public string Bossname { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "工作地省份")]
        public string Province { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [ExporterHeader(DisplayName = "工作地城市")]
        public string Cityname { get; set; }
        #endregion


        /// <summary>
        /// 状态
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public int? Status { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [ExporterHeader(DisplayName = "状态")]
        public string StatusName { get; set; }


        /// <summary>
        /// 创建时间
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public DateTime? CreateDate { get; set; }
    }
}
